// 混淆 https://www.jianshu.com/p/882f3585446f

const mixin = {
	data() {
		return {
			dataList: {
				data: [], //接口数据
				isLoading: false, //是否加载下一页
				num: 1 //当前页数
			},
			pageApi: '', //请求接口
			pageData: {} //请求数据
		}
	},
	methods: {
		//刷新列表
		getLists(type) {
			this.dataList = {
				data: [], //列表数据
				isLoading: false, //是否加载下一页
				num: 1 //当前页数
			}
			this.getList(type)
		},
		getList(type) {
			var that = this
			if (!this.dataList.isLoading) {

				this['$api_' + this.pageApi]({
					pageNo: this.dataList.num,
					pageSize: 10,
					...this.pageData
				}).then(res => {
					if (type) { //不直接拼接数据,调用传来的函数名
						that[type](res)
					} else {
						this.dataList.data = this.dataList.data.concat(res.dataList)
					}
					this.dataList.num++
					if (this.dataList.num > res.totalPage) {
						this.dataList.isLoading = true
					}
				}).catch(function(err) {
					ElMessage({
						message: err,
						type: "error"
					});
				});

			}
		},
		handleScroll(event) {
			// 获取滚动容器的高度
			const containerHeight = event.target.clientHeight;
			// 获取内容高度
			const contentHeight = event.target.scrollHeight;
			// 判断是否滚动到底部
			if ((containerHeight + event.target.scrollTop) >= contentHeight) {
				// 这里可以执行加载更多数据的操作
				if (this.dataList.num > 1) this.getList()
			}

		}
	}
}
export default mixin;